package com.example.sparkmanager.service;

import com.example.sparkmanager.dto.JobRequest;
import com.example.sparkmanager.dto.JobResponse;
import com.example.sparkmanager.dto.ScheduleRequest;
import com.example.sparkmanager.model.JobStatus;

import java.util.List;

public interface SparkJobService {
    JobResponse createJob(JobRequest jobRequest);

    JobResponse getJobById(Long id);

    List<JobResponse> getAllJobs();

    JobResponse updateJobSchedule(Long id, ScheduleRequest scheduleRequest);

    void deleteJob(Long id);

    JobResponse triggerJob(Long id);

    JobResponse cancelJob(Long id);

    List<JobResponse> getJobsByStatus(String status);

    JobStatus checkJobStatus(Long jobId);
}